- 【React Hooks原理 - forwardRef、useImperativeHandle】
宇豪学习录
ReactHooks原理react.jsjavascript前端
概述上文我们聊了useRef的使用和实现,主要两个用途:1、用于持久化保存2、用于绑定dom。但是有时候我们需要在父组件中访问子组件的dom或者属性/方法,而React中默认是不允许父组件直接访问子组件的dom的,这时候就可以通过forwardRef将ref传入子组件,并暴露子组件的dom给父组件使用,但是这种方式直接暴露了子组件的dom,处于安全性能考虑,我们希望子组件只暴露我们所希望的属性,由
- React Hooks forwardRef useImperativeHandle TypeScript类型 最佳实践
m0_67265464
面试学习路线阿里巴巴javajava进阶后端
定义官网文档forwardRef:转发refuseImperativeHandle:用于自定义暴露给父组件的实例值版本"react":"^17.0.2""@types/react":"^17.0.44"代码父组件import{FC,useEffect,useRef}from'react';//导入子组件importChildComponent,{IRefProps}from'./ChildComp
- 详谈React中 forwardRef、useImperativeHandle的使用场景
凉菜凉凉
React#+技术分享react.jsjavascript前端
forwardRef(render)允许组件使用ref将DOM节点暴露给父组件constSomeComponent=forwardRef(render)参数render:组件的渲染函数。React会调用该函数并传入父组件传递的props和ref。返回的JSX将作为组件的输出。返回值forwardRef返回一个可以在JSX中渲染的React组件。与作为纯函数定义的React组件不同,forwardR
- DeepSeek本地部署的一些问题记录
沐沐uuu
DeepSeek
1、模型怎么不保存到C盘:关掉ollama之后,设置环境变量:OLLAMA_MODELS,环境变量的地址,改为你想要的地址,参考文章:https://blog.csdn.net/u012151594/article/details/1420621992、ollamarm模型名,删除新建的模型,缓存文件C:\Users\Administrator.ollama,找你对应的目录,删除即可3、1.5b模
- but was actually of type ‘com.sun.proxy.$Proxy**‘ AOP事务代理混用
沐沐uuu
javaspringaop
Causedby:org.springframework.beans.factory.BeanNotOfRequiredTypeException:Beannamed‘’isexpectedtobeoftype'’butwasactuallyoftype‘com.sun.proxy.$Proxy**’springaop代理混用解决出现问题的原因在java中默认使用的动态代理是JDKproxy基于接
- 记-react-connect中使用forwardRef 问题。
$(薛定谔的喵)
web前端Reactjsreactredux前端
记-react-connect中使用forwardRef问题。最近在dvajs中使用onRef的过程中,需要给绑定connect的组件透传forwardRef类似这样的形式:importReact,{forwardRef,useImperativeHandle,useState,useEffect}from'react';import{connect}from'dva'constC2=forwar
- 2024年最新入门基于Node的Web框架——Koa(2),2024年最新前端开发面试题及答案
2301_82243626
程序员前端面试学习
最后文章到这里就结束了,如果觉得对你有帮助可以点个赞哦开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】},“querystring”:“search=koa&keyword=context”}responseresponse对象是用于设置一些响应信息给客户端,这些和http请求的响应字段是一样的。比如说可以设置状态码、响应格式等相关信息。app.use(async(c
- Expand Reach with Multilingual Data Editors
SEO-狼术
DelphinetCrack开发语言
ExpandReachwithMultilingualDataEditorsEnhanceuserexperience,accessibility,andglobalcollaborationwithlocalizeddataeditorsthatadapttomultiplelanguageworkflows.Localizationistheprocessofadaptingtheuserin
- TransactionTemplate 与@Transactional 注解的功能及方法详解
金州小铁匠
javaspringspringbootspringcloud
TransactionTemplate功能及方法详解1.TransactionTemplate功能TransactionTemplate是Spring提供的编程式事务管理工具,通过代码显式控制事务的开启、提交和回滚,适用于需要动态或复杂事务逻辑的场景。2.核心方法及使用(1)execute(TransactionCallbackaction)功能:执行包含事务的代码块,支持返回值。代码示例:Use
- druid mysql读写分离_Spring Boot + Mybatis + Druid 实现MySQL一主多从读写分离
咖啡碎冰冰
druidmysql读写分离
SpringBoot读写分离实现原理实现方式主要是通过扩展SpringAbstractRoutingDataSource这个类充当DataSource路由中介,在运行当中根据自定义KEY值动态切换正真的DataSource。具体实现创建测试库、表:createdatabase`mytest_db`;CREATETABLE`t_user`(`id`int(11)NOTNULLAUTO_INCREME
- Spring Boot + MyBatis + MySQL 实现读写分离
2301_79099287
程序员springbootmybatismysql
spring-boot-starter-testtestorg.springframework.bootspring-boot-maven-plugin3.2.数据源配置application.ymlspring:datasource:master:jdbc-url:jdbc:mysql://192.168.102.31:3306/testusername:rootpassword:123456d
- 【Linux】玩转Linux操作系统(七)磁盘管理
寒山独见君~
【Linux学习】linux服务器运维
磁盘管理列出文件系统的磁盘使用状况-df。[root~]#df-hFilesystemSizeUsedAvailUse%Mountedon/dev/vda140G5.0G33G14%/devtmpfs486M0486M0%/devtmpfs497M0497M0%/dev/shmtmpfs497M356K496M1%/runtmpfs497M0497M0%/sys/fs/cgrouptmpfs100
- 常见的 Web 攻击方式有哪些,如何防御?
程序员黄同学
前端开发JavaScriptJava面试题前端
一、XSS攻击(跨站脚本攻击)攻击原理:恶意脚本通过用户输入注入页面,分为存储型(数据库持久化)、反射型(URL参数注入)、DOM型(客户端脚本修改)防御方案://1.输入过滤(Node.js示例)constxss=require('xss');constcleanContent=xss(userInput);//过滤alert(1)等标签//2.设置CSP响应头(Koa中间件示例)app.use
- MyBatis常见知识点
2301_80148369
mybatis
#{}和${}的区别是什么?答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于原样文本替换,可以替换任意内容,比如${driver}会被原样替换为com.mysql.jdbc.Driver。一个示例:根据参数按任意字段排序:select*fromusersorderby${orderCols}orderCols可以是name、namedesc、name,se
- 钉钉的缓存图片存放目录因操作系统(Windows、macOS、Android、iOS)和设备权限不同而有所差异。以下是各平台常见的路径及注意事项:一、Windows 系统默认路径复制C:\
不一样的故事126
钉钉缓存macos
钉钉的缓存图片存放目录因操作系统(Windows、macOS、Android、iOS)和设备权限不同而有所差异。以下是各平台常见的路径及注意事项:一、Windows系统默认路径复制C:\Users\[你的用户名]\AppData\Local\DingTalk\cache或:复制C:\Users\[你的用户名]\AppData\Roaming\DingTalk\main\data\media\ima
- 【clickhouse踩坑记录】ClickHouse查询性能优化(入门级)
一条咸鱼的记录
踩坑记录数据库bigdata
背景用了一年多的ClickHouse,但好像都没系统地去学一遍,趁着最近有点时间,相对全面地去看了一圈ClickHouse的内容。发现ClickHouse虽然性能查询本身快,但如果使用不恰当,性能会被降一个级别。下面主要简单介绍一下,ClickHouse的查询可以从哪些方面做优化。可重点关注标题加粗部分!!优化方法以下,主要从表级别、语法、查询这三方面简要介绍。表级别优化填充有空值的字段对于一些表
- mysql8.0 设置远程连接
乐观主义现代人
mysqllinux服务器
1.修改配置(这一步很多教程上没有写,这是最重要的一步)cd/etc/mysql/mysql.conf.dvimmysqld.cnf#找到#bind-address=127.0.0.1,注释掉,替换成下面的配置bind-address=0.0.0.02.重启mysql服务servicemysqlrestart创建用户,授权,刷新配置生效createuser'demo'@'%'identifiedb
- golang x509 cannot validate certificate for 192.168.2.2 because it doesn‘t contain any IP SANs
乐观主义现代人
golang服务器网络golang
此问题主要出现在有cert验证的场景中,有两种解决方案:1.修改发出请求的设备的/etc/hosts文件(这种解决方案偏运维思维,能解决问题就行)#按照要求修改/etc/hosts文件,将IP映射成符合规则的serverNameroot@SC-Server:/opt/scenter#cat/etc/hosts127.0.0.1localhost127.0.0.1SC-Server#追加内容192.
- HTTP/2 flood攻击脚本.js
金猪报喜-阿尔法
安全网络java
consturl=require('url'),fs=require('fs'),http2=require('http2'),http=require('http'),tls=require('tls'),cluster=require('cluster'),axios=require('axios'),https=require('https'),UserAgent=require('user
- The pandas.np module is deprecated and will be removed from pandas in a future version. Import numpy
lucky多多
解决安装配置等问题
Thepandas.npmoduleisdeprecatedandwillberemovedfrompandasinafutureversion.Importnumpydirectlyinsteadfrompandasimportnp这种原因是因为我还在用frompandasimportnp看来是要升级下了pipinstall--upgradepandas之后根据控制台返回的提示作相应的更改,我这
- FutureWarning: The pandas.core.datetools module is deprecated and will be removed in a future versio
byteyoung
错误调试
一直用pandas做数据分析,不过一直用的是老版本,还是0.20,今天做平稳性分析,出现了一个警告信息FutureWarning:Thepandas.core.datetoolsmoduleisdeprecatedandwillberemovedinafutureversion.Pleaseusethepandas.tseriesmoduleinstead.frompandas.coreimpor
- spring 学习(spring-Dl补充(注入不同类型的数据))
等什么君!
Springspring学习java
前言在之前的案例,列举的最多的是注入对象。本篇博客则是补充说我们不仅可以注入对象还可以注入其他的数据类型包括基本数据类型,引用数据类型。注入基本数据类型常见的基本数据类型有:shortcharintlongfloatdoublebooleanString解决步骤1在配置文件中使用property标签表示每一个成员变量信息2在目标类中使用set方法demo案例User类使用Dl注入基本数据类型spr
- 解决win10 cmd下运行python弹出windows应用商店问题
α2022
环境变量Path删除CMD重启
1.找到环境变量中的Path2.删除%USERPROFILE%\AppData\Local\Microsoft\WindowsApps3.重启cmd
- 解决win10 cmd下运行python弹出windows应用商店
一勺菠萝丶
pythonwindows开发语言
Windows10的五月更新为MicrosoftStore应用商店带来了Python3.7原因是这个环境变量“C:\Users\hongc\AppData\Local\Microsoft\WindowsApps”的优先级比我们创建的python环境变量优先级高所以我们只需要删除这个环境变量即可但是为了不影响正常功能推荐将Python的环境变量放在前面即可
- error C2511: 'Teacher_Cadre::Teacher_Cadre(std::string,int,char,std::string,std::string,std::string,
小凡1991
VisualStudio调试相关C++visualstudio
学习C++遇到的错误:errorC2511:'Teacher_Cadre::Teacher_Cadre(std::string,int,char,std::string,std::string,std::string,std::string,float)':overloadedmemberfunctionnotfoundin'Teacher_Cadre'原因:重载的函数实现与类中定义的函数变量类型
- 有没有大佬看得懂这是怎么错的
qq_43343841
C++
有没有大佬看得懂这是怎么错的errorC2511:‘func1’:overloadedmemberfunction‘classstd::basic_string(classstd::basic_string,classstd::basic_string)’notfoundin‘student’
- const成员函数及错误提示error C2511: 'void Tack::Set_Data(void) const' : overloaded member function not found
喜欢做我自己
C++const成员函数C++
对于成员函数Set_Data()来说,其无法保证调用对象不被修改,如果要像const一样不被修改,可以使用一种新的语法来保证函数不会修改调用对象。在C++语法中,可以将const关键字放到函数的括号后面。//函数声明处classTack{private:std::stringm_hello;longm_shares;intm_num;doublem_value;public:Tack();void
- error C2511: send**** : overloaded member function 'void (
gengxt2003
错误functioncwizardclass工具
自己在类里写了一个函数,出现了errorC2511:send****:overloadedmemberfunction'void(这种问题。我把函数删掉,使用ClassWizard工具建立了一个函数就没有问题。
- 支持Windows和Linux系统的Python定时关机脚本
星河776(重名区分)
python
以下是一个支持Windows和Linux系统的Python定时关机脚本,允许设置定时关机或取消关机计划:importsysimportosimportdatetimeimportctypesimportredefis_admin():"""检查是否具有管理员权限"""ifos.name=='nt':try:returnctypes.windll.shell32.IsUserAnAdmin()exc
- 零基础油猴脚本保姆级学习计划,7天快速入门
星河776(重名区分)
技巧文章其他学习dubbojavascript
「零基础油猴脚本」保姆级学习计划,共7天完成。所有步骤保证清晰无术语,附带案例和验证方法,确保小白也能跑通。───第1天:认识油猴&完成第一个脚本───安装油猴(Tampermonkey)Chrome:打开应用商店→搜索Tampermonkey→安装Firefox:附加组件商店→搜索安装Edge:同Chrome操作创建第一个脚本点击油猴图标→创建新脚本删除默认代码,粘贴以下内容://==UserS
- 微信开发者验证接口开发
362217990
微信 开发者 token 验证
微信开发者接口验证。
Token,自己随便定义,与微信填写一致就可以了。
根据微信接入指南描述 http://mp.weixin.qq.com/wiki/17/2d4265491f12608cd170a95559800f2d.html
第一步:填写服务器配置
第二步:验证服务器地址的有效性
第三步:依据接口文档实现业务逻辑
这里主要讲第二步验证服务器有效性。
建一个
- 一个小编程题-类似约瑟夫环问题
BrokenDreams
编程
今天群友出了一题:
一个数列,把第一个元素删除,然后把第二个元素放到数列的最后,依次操作下去,直到把数列中所有的数都删除,要求依次打印出这个过程中删除的数。
&
- linux复习笔记之bash shell (5) 关于减号-的作用
eksliang
linux关于减号“-”的含义linux关于减号“-”的用途linux关于“-”的含义linux关于减号的含义
转载请出自出处:
http://eksliang.iteye.com/blog/2105677
管道命令在bash的连续处理程序中是相当重要的,尤其在使用到前一个命令的studout(标准输出)作为这次的stdin(标准输入)时,就显得太重要了,某些命令需要用到文件名,例如上篇文档的的切割命令(split)、还有
- Unix(3)
18289753290
unix ksh
1)若该变量需要在其他子进程执行,则可用"$变量名称"或${变量}累加内容
什么是子进程?在我目前这个shell情况下,去打开一个新的shell,新的那个shell就是子进程。一般状态下,父进程的自定义变量是无法在子进程内使用的,但通过export将变量变成环境变量后就能够在子进程里面应用了。
2)条件判断: &&代表and ||代表or&nbs
- 关于ListView中性能优化中图片加载问题
酷的飞上天空
ListView
ListView的性能优化网上很多信息,但是涉及到异步加载图片问题就会出现问题。
具体参看上篇文章http://314858770.iteye.com/admin/blogs/1217594
如果每次都重新inflate一个新的View出来肯定会造成性能损失严重,可能会出现listview滚动是很卡的情况,还会出现内存溢出。
现在想出一个方法就是每次都添加一个标识,然后设置图
- 德国总理默多克:给国人的一堂“震撼教育”课
永夜-极光
教育
http://bbs.voc.com.cn/topic-2443617-1-1.html德国总理默多克:给国人的一堂“震撼教育”课
安吉拉—默克尔,一位经历过社会主义的东德人,她利用自己的博客,发表一番来华前的谈话,该说的话,都在上面说了,全世界想看想传播——去看看默克尔总理的博客吧!
德国总理默克尔以她的低调、朴素、谦和、平易近人等品格给国人留下了深刻印象。她以实际行动为中国人上了一堂
- 关于Java继承的一个小问题。。。
随便小屋
java
今天看Java 编程思想的时候遇见一个问题,运行的结果和自己想想的完全不一样。先把代码贴出来!
//CanFight接口
interface Canfight {
void fight();
}
//ActionCharacter类
class ActionCharacter {
public void fight() {
System.out.pr
- 23种基本的设计模式
aijuans
设计模式
Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 Adapter:将一个类的接口转换成客户希望的另外一个接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 Bridge:将抽象部分与它的实现部分分离,使它们都可以独立地变化。 Builder:将一个复杂对象的构建与它的表示分离,使得同
- 《周鸿祎自述:我的互联网方法论》读书笔记
aoyouzi
读书笔记
从用户的角度来看,能解决问题的产品才是好产品,能方便/快速地解决问题的产品,就是一流产品.
商业模式不是赚钱模式
一款产品免费获得海量用户后,它的边际成本趋于0,然后再通过广告或者增值服务的方式赚钱,实际上就是创造了新的价值链.
商业模式的基础是用户,木有用户,任何商业模式都是浮云.商业模式的核心是产品,本质是通过产品为用户创造价值.
商业模式还包括寻找需求
- JavaScript动态改变样式访问技术
百合不是茶
JavaScriptstyle属性ClassName属性
一:style属性
格式:
HTML元素.style.样式属性="值";
创建菜单:在html标签中创建 或者 在head标签中用数组创建
<html>
<head>
<title>style改变样式</title>
</head>
&l
- jQuery的deferred对象详解
bijian1013
jquerydeferred对象
jQuery的开发速度很快,几乎每半年一个大版本,每两个月一个小版本。
每个版本都会引入一些新功能,从jQuery 1.5.0版本开始引入的一个新功能----deferred对象。
&nb
- 淘宝开放平台TOP
Bill_chen
C++c物流C#
淘宝网开放平台首页:http://open.taobao.com/
淘宝开放平台是淘宝TOP团队的产品,TOP即TaoBao Open Platform,
是淘宝合作伙伴开发、发布、交易其服务的平台。
支撑TOP的三条主线为:
1.开放数据和业务流程
* 以API数据形式开放商品、交易、物流等业务;
&
- 【大型网站架构一】大型网站架构概述
bit1129
网站架构
大型互联网特点
面对海量用户、海量数据
大型互联网架构的关键指标
高并发
高性能
高可用
高可扩展性
线性伸缩性
安全性
大型互联网技术要点
前端优化
CDN缓存
反向代理
KV缓存
消息系统
分布式存储
NoSQL数据库
搜索
监控
安全
想到的问题:
1.对于订单系统这种事务型系统,如
- eclipse插件hibernate tools安装
白糖_
Hibernate
eclipse helios(3.6)版
1.启动eclipse 2.选择 Help > Install New Software...> 3.添加如下地址:
http://download.jboss.org/jbosstools/updates/stable/helios/ 4.选择性安装:hibernate tools在All Jboss tool
- Jquery easyui Form表单提交注意事项
bozch
jquery easyui
jquery easyui对表单的提交进行了封装,提交的方式采用的是ajax的方式,在开发的时候应该注意的事项如下:
1、在定义form标签的时候,要将method属性设置成post或者get,特别是进行大字段的文本信息提交的时候,要将method设置成post方式提交,否则页面会抛出跨域访问等异常。所以这个要
- Trie tree(字典树)的Java实现及其应用-统计以某字符串为前缀的单词的数量
bylijinnan
java实现
import java.util.LinkedList;
public class CaseInsensitiveTrie {
/**
字典树的Java实现。实现了插入、查询以及深度优先遍历。
Trie tree's java implementation.(Insert,Search,DFS)
Problem Description
Igna
- html css 鼠标形状样式汇总
chenbowen00
htmlcss
css鼠标手型cursor中hand与pointer
Example:CSS鼠标手型效果 <a href="#" style="cursor:hand">CSS鼠标手型效果</a><br/>
Example:CSS鼠标手型效果 <a href="#" style=&qu
- [IT与投资]IT投资的几个原则
comsci
it
无论是想在电商,软件,硬件还是互联网领域投资,都需要大量资金,虽然各个国家政府在媒体上都给予大家承诺,既要让市场的流动性宽松,又要保持经济的高速增长....但是,事实上,整个市场和社会对于真正的资金投入是非常渴望的,也就是说,表面上看起来,市场很活跃,但是投入的资金并不是很充足的......
- oracle with语句详解
daizj
oraclewithwith as
oracle with语句详解 转
在oracle中,select 查询语句,可以使用with,就是一个子查询,oracle 会把子查询的结果放到临时表中,可以反复使用
例子:注意,这是sql语句,不是pl/sql语句, 可以直接放到jdbc执行的
----------------------------------------------------------------
- hbase的简单操作
deng520159
数据库hbase
近期公司用hbase来存储日志,然后再来分析 ,把hbase开发经常要用的命令找了出来.
用ssh登陆安装hbase那台linux后
用hbase shell进行hbase命令控制台!
表的管理
1)查看有哪些表
hbase(main)> list
2)创建表
# 语法:create <table>, {NAME => <family&g
- C语言scanf继续学习、算术运算符学习和逻辑运算符
dcj3sjt126com
c
/*
2013年3月11日20:37:32
地点:北京潘家园
功能:完成用户格式化输入多个值
目的:学习scanf函数的使用
*/
# include <stdio.h>
int main(void)
{
int i, j, k;
printf("please input three number:\n"); //提示用
- 2015越来越好
dcj3sjt126com
歌曲
越来越好
房子大了电话小了 感觉越来越好
假期多了收入高了 工作越来越好
商品精了价格活了 心情越来越好
天更蓝了水更清了 环境越来越好
活得有奔头人会步步高
想做到你要努力去做到
幸福的笑容天天挂眉梢 越来越好
婆媳和了家庭暖了 生活越来越好
孩子高了懂事多了 学习越来越好
朋友多了心相通了 大家越来越好
道路宽了心气顺了 日子越来越好
活的有精神人就不显
- java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Tim
feiteyizu
mysql
数据表中有记录的time字段(属性为timestamp)其值为:“0000-00-00 00:00:00”
程序使用select 语句从中取数据时出现以下异常:
java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date
java.sql.SQLException: Valu
- Ehcache(07)——Ehcache对并发的支持
234390216
并发ehcache锁ReadLockWriteLock
Ehcache对并发的支持
在高并发的情况下,使用Ehcache缓存时,由于并发的读与写,我们读的数据有可能是错误的,我们写的数据也有可能意外的被覆盖。所幸的是Ehcache为我们提供了针对于缓存元素Key的Read(读)、Write(写)锁。当一个线程获取了某一Key的Read锁之后,其它线程获取针对于同
- mysql中blob,text字段的合成索引
jackyrong
mysql
在mysql中,原来有一个叫合成索引的,可以提高blob,text字段的效率性能,
但只能用在精确查询,核心是增加一个列,然后可以用md5进行散列,用散列值查找
则速度快
比如:
create table abc(id varchar(10),context blog,hash_value varchar(40));
insert into abc(1,rep
- 逻辑运算与移位运算
latty
位运算逻辑运算
源码:正数的补码与原码相同例+7 源码:00000111 补码 :00000111 (用8位二进制表示一个数)
负数的补码:
符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。 -7 源码: 10000111 ,其绝对值为00000111 取反加一:11111001 为-7补码
已知一个数的补码,求原码的操作分两种情况:
- 利用XSD 验证XML文件
newerdragon
javaxmlxsd
XSD文件 (XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 具体使用方法和定义请参看:
http://www.w3school.com.cn/schema/index.asp
java自jdk1.5以上新增了SchemaFactory类 可以实现对XSD验证的支持,使用起来也很方便。
以下代码可用在J
- 搭建 CentOS 6 服务器(12) - Samba
rensanning
centos
(1)安装
# yum -y install samba
Installed:
samba.i686 0:3.6.9-169.el6_5
# pdbedit -a rensn
new password:123456
retype new password:123456
……
(2)Home文件夹
# mkdir /etc
- Learn Nodejs 01
toknowme
nodejs
(1)下载nodejs
https://nodejs.org/download/ 选择相应的版本进行下载 (2)安装nodejs 安装的方式比较多,请baidu下
我这边下载的是“node-v0.12.7-linux-x64.tar.gz”这个版本 (1)上传服务器 (2)解压 tar -zxvf node-v0.12.
- jquery控制自动刷新的代码举例
xp9802
jquery
1、html内容部分 复制代码代码示例: <div id='log_reload'>
<select name="id_s" size="1">
<option value='2'>-2s-</option>
<option value='3'>-3s-</option