input中的三种格式修饰符用法举例

input中的三种格式修饰符用法举例

列表方式输入语句中的修饰符有3个:":","~","&"。
下面分别介绍这3中修饰符的使用方法。
":"。当原始数据是以空格为分隔符时,要想对变量值长度不一致的变量规定统一长度必须使用该格式修饰符。
e.g:空格为分隔符时,对变量长度不一致的变量规定统一长度。
data new;
input Univ:$12. zip; 
cards;
MIT 100023
TsinghuaUniv 100084
;
run;
<=> 等价于
data new;
length Univ $12.;
input Univ zip;
cards;
MIT 100023
TsinghuaUniv 100084
;
run;

"&"。字符输入值可能包含一个或几个空格。因为空格是列表读入方式默认的分隔符,所以如果要读入的数据值本身包括空格时就必须用此格式符。
e.g:空格为分隔符时,字符型输入值嵌有空格。
data user;
input name & $12. age;
cards;
Jiang zhu  20
Annie Zheng  31
I.Altman  60
;
run;

"~"。规定读入字符时保留引号。此选项只是在infile语句中与选项dsd一起使用时才有效。
e.g:dsd和"~"的作用,读入字符时保留引号。
data topic;
infile datalines dsd;
input speaker ~ $ 15. title ~ $ 40. location & $ 10. ;
datalines;
Song, "Credit Derivatives", Room 329
Zhu, "Credit Risk Management", Room 406
;
run;
proc print;
run;

炼数点金例子:
data A;
input name & $12. sex $ age;
datalines;
Li Li  F 19
  Wang Da Zhi  M 20
;
proc print;
run; 

":"修饰符。表示从下一个非空格列开始读入数据,直到:
  1.遇到再下一个空格列;
  2.读到预先定义的变量长度;
  3.数据行结束。
  哪个先出现就在哪结束
  
"&"修饰符。表示从下一个非空格列开始读入数据,直到:
  1.遇到连续的两个空格;
  2.在DATA步中定义的最初的变量长度;
  3.数据行结束。

  哪个先出现就在哪结束


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 el-input 组件,可以使用修饰符 .native 来解决这个问题。例如: ``` <el-input v-model="value" @clear.native="onClear"></el-input> ``` 这样,在点击清除按钮时,就不会触发 click 事件了。 如果你想要在点击清除按钮时,触发一个自定义的事件,可以这样写: ``` <el-input v-model="value" @clear="onClear"></el-input> ``` 然后在组件的 methods 添加 onClear 方法,就可以在点击清除按钮时触发自定义的事件了。 ``` methods: { onClear() { // 自定义的处理逻辑 } } ``` 希望这个答案对你有帮助! ### 回答2: 在el-input组件,点击clear按钮会触发input的click事件,如果想要禁止点击clear按钮触发click事件,可以通过以下方法实现: 1. 使用事件修饰符 在el-input上添加@click.native事件,将事件修饰符.native用于监听原生click事件。如下所示: ```html <el-input @click.native.stop></el-input> ``` 使用.stop修饰符应该可以阻止click事件的冒泡,但在el-input的clear按钮上,由于click事件是通过原生DOM事件处理的,所以.stop修饰符对clear按钮上的click事件无效。 2. 使用事件委托 可以通过在el-input添加一个父容器,将click事件委托给父容器进行处理。如下所示: ```html <div @click="handleInputClick"> <el-input></el-input> </div> ``` 然后在methods定义handleInputClick方法,点击clear按钮时不触发click事件。 ```js methods: { handleInputClick(event) { if (event.target.className !== "el-input__clear") { // 处理click事件 } } } ``` 在handleInputClick方法通过判断event.target.className是否是"el-input__clear",如果是则不处理click事件。 通过以上两种方法,可以禁止clear按钮触发click事件。 ### 回答3: 在el-input组件,clear按钮的click事件实际上是由父组件的@click事件监听器处理的。当触发点击事件时,会先执行子元素(clear按钮)的点击事件,然后再执行父元素(el-input组件)的点击事件。 如果你希望clear按钮的点击事件不触发父级组件的点击事件,可以通过以下两种方式进行处理: 1. 通过事件修饰符.prevent.stop:在父组件的@click事件监听器,将事件修饰符修改为.prevent.stop。这样,当点击clear按钮时,不仅会阻止父组件的点击事件冒泡,还会阻止默认行为,即清除输入框的文本内容。 ```html <el-input @click.prevent.stop="handleInputClick" clearable></el-input> ``` 2. 使用事件修饰符.native.stop:在el-input组件上添加事件修饰符.native.stop,这样会将@click事件直接绑定到clear按钮上,而不是通过父组件的@click事件监听器处理。 ```html <el-input @click.native.stop="handleClearClick" clearable></el-input> ``` 注意:如果以上两种方法都无效,可能是因为其他地方的事件监听器阻止了点击事件冒泡,或者在点击事件处理函数,通过event.stopPropagation()方法阻止了事件冒泡。请检查代码逻辑,确保没有其他地方阻止了事件冒泡。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值