【Layui】Layui下select下拉框不显示或没有效果

今天再用Layui写界面时,发现自己的select下拉框没有显示

<from class="layui-form" action="">
			<div class="layui-input-inline">
				<label class="layui-form-label">姓名:</label>
				<div class="layui-input-block">
					<input type="text" name="title" required lay-verify="required" placeholder="姓名" autocomplete="off" class="layui-input">
				</div>
			</div>
			<div class="layui-input-inline">
				<label class="layui-form-label">地址:</label>
				<div class="layui-input-block">
					<select name="city" lay-verify="">
						<option value="">请选择一个城市</option>
						<option value="010">北京</option>
						<option value="021">上海</option>
						<option value="0571">杭州</option>
					</select>
				</div>
			</div>
			<div class="layui-input-inline">
				<div class="layui-input-block">
					<button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
					<button type="reset" class="layui-btn layui-btn-primary">重置</button>
				</div>
			</div>
		</from>

自己明明已经写了,为什么不显示的?

查了查资料发现:

Layui会对select、checkbox、radio等原始元素隐藏,从而进行美化修饰处理。但这需要依赖于form组件,所以你必须加载 form,并且执行一个实例。值得注意的是:导航的Hover效果、Tab选项卡等同理(它们需依赖 element 模块)

所以当新添加这些元素以后需要对页面表单元素重新渲染一下

<script>
	layui.use('form', function() {
	var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功

	//……

	//但是,如果你的HTML是动态生成的,自动渲染就会失效
	//因此你需要在相应的地方,执行下述方法来手动渲染,跟这类似的还有 element.init();
	form.render();
    });
</script>

我们只需要在我们本身的代码上,加上上述代码,就可以实现。

猜你喜欢

转载自blog.csdn.net/qq_40915439/article/details/108019862
今日推荐