element-ui input框 动态更改placeholder

项目中遇到的实际情况:

两个单选框,后面跟一个input框,选择某一个单选框的时候,后面的input框的placeholder会跟着变化。

比如操作单选框买家,input框后面placeholder出现“请输入买家账号”;操作“卖家”单选框按钮的时候,placeholder变成“请输入卖家账号”

两种方法:

方法一

写两个input框

<el-input class="inline-input"  v-if="radio==='0'" v-model='formInline.search' placeholder="买家账号"></el-input>
<el-input class="inline-input"   v-if="radio==='1'" v-model='formInline.search' placeholder="商家账户"></el-input>

根据radio的值来做显示和隐藏,完成placeholder的变化(其实是变了input框,本质上并不是变化placeholder)

方法二

<el-input class="inline-input"  v-model='formInline.search' :placeholder="holder"></el-input>

动态写placeholder
先在data里面定义holder的值,

然后利用vue的wacth方法,监听radio的变化。

watch: {
  radio: function () {
    if (this.radio === '1') {
      this.holder = '请输入卖家账号'
    } else {
      this.holder = '请输入买家账号'
    }
  }
}

当radio变化后,holder会跟着变化。

Element UI的`el-Cascader`组件中,设置动态placeholder通常是指当数据未加载或者初始状态下,下拉选项列表还未展开时,你想显示一个提示信息。然而,如果你发现点击之后才会显示这个placeholder,那可能是由于以下几个原因: 1. **默认值设定**:检查`value`或`props.options`是否为空,在初始化时设置了`lazy`属性并且数据需要通过用户交互触发加载,这时需要确保在初次加载前有一个默认的占位状态。 ```javascript <el-cascader :options="options" lazy :placeholder="initialPlaceholder"></el-cascader> data() { return { options: [], // 初始时可以设为空数组 initialPlaceholder: '请选择分类', }; } ``` 2. **v-model绑定**:确认`v-model`已经绑定了正确的值,并且在数据加载完成之前不会改变它,因为这会影响 Cascader 的渲染。 3. **自定义渲染**:如果在`el-cascader`内部进行了自定义渲染,可能需要确保placeholder在对应的条件分支中显示。 4. **事件监听**:检查是否有处理`load-data`或者其他类似事件的地方,确保在数据加载完成后正确更新placeholder的状态。 5. **样式隐藏**:有时候可能是CSS影响了placeholder的显示,确保`.el-cascader__wrap`下的元素没有设置高度为0或其他隐藏其内容的样式。 如果你遇到了问题,建议检查上述各点并调试相关代码。如果还是无法解决,可以在遇到的问题部分加上
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值