微信小程序使用Vant

微信小程序使用Vant,第1张

将 appjson 中的 "style": "v2" 去除,小程序的新版基础组件强行加上了许多样式,难以覆盖,不关闭将造成部分组件样式混乱。

开发者工具创建的项目,miniprogramRoot 默认为 miniprogram,packagejson 在其外部,npm 构建无法正常工作。需要手动在 projectconfigjson 内添加如下配置,使开发者工具可以正确索引到 npm 依赖的位置。

打开微信开发者工具,点击  工具 -> 构建 npm ,并勾选  使用 npm 模块  选项,构建完成后,

到 全局配置 appjson 中注册引入组件,详见 快速上手 。

支持default、primary、info、warning、danger五种类型,默认为default。  格式:

通过plain属性将按钮设置为朴素按钮

设置hairline属性可以开启 05px 边框,基于伪类实现。

通过disabled属性来禁用按钮,此时按钮的bind:click事件不会触发。

通过loading属性来设置加载按钮   loading-type="spinner"   loading-text="加载中"

通过icon属性设置按钮图标,支持 Icon 组件里的所有图标,也可以传入图标 URL。

label     输入框左侧文本

type    可设置为任意原生类型, 如 number   idcard    textarea    digit

readonly  是否只读

custom-style    自定义样式

autosize    是否自适应内容高度,只对 textarea 有效,可传入对象,如 { maxHeight: 100, minHeight: 50 },单位为px

show :是否显示 

onClose 点击其他位置,关闭d出层

position            可以设置为top、bottom、left、right。

Picker 选择器 需要配合d出层使用

<van-picker columns="{{ columns }}" bind:change="onChange" />

columns 对象数组,配置每一列显示的数据

onChange(e)    有默认参数 e 

value-key    选项对象中,文字对应的 key 通常用于对象数组

show-toolbar    是否显示顶部栏

defaultIndex     初始选中项的索引,默认为 0  不是双向绑定 需要自己改变defaultIndex  的值  需要渲染两次

第一:需要明白什么是“事件”。一般的网页只能够看,不能对网页进行输入和修改等。JavaScript能做到的一件事情是:能够让打开网页的人不只是看网页,还能在网页中输入或者修改一些东西或者用鼠标键盘做一些事情,这就叫“事件”(那些写书的王八蛋一般写到事件就是从头到尾不停说代码,从不解释什么是事件)。你这个例子来说就是:键盘事件。键盘事件就是按一个键盘按键,然后键盘按键在你放手后会d起来。这个简单的过程可以有两种过程:

(比如按 H 按键)11按下H按键; 12输入H; 13H按键d起来

(比如按返回按键——大回车键头上那个按键)21按下返回按键;22返回按键d起来

你这个代码就是想把以上两种情况显示出来。

第二:过程:

1<input>标签有三个事件实现“第一种的键盘过程”,onkeydown事件,键盘按键按下;onkeypress事件,键盘输入(如果有输入的话,例如按H按键);onkeyup事件,键盘按键d起来。

2每个按键事件等于一个函数,这里的函数你可以理解为一个执行你的命令的机器人,你按下一个按键就等于你指挥这个小机器人去做一些你安排好的事情。这些事情是什么呢?来看JavaScript的这个handleEvent()函数:

第一步:var oTextbox = documentgetElementById("txt1");  这个机器人读取你的HTML文档,通过id=txt1得到<textarea id="txt1" rows="6" cols="30"></textarea>这个东西,请注意,这个机器人是个智商极其低下的家伙,所以不能像我们一样理解<textarea>这个元素有很多内容,所以需要按照固定的格式表达这个元素的意义给机器人明白。所以documentgetElementById("txt1")其实就相当于我们人类理解的<textarea>这个元素。给documentgetElementById("txt1")取一个名字oTextbox其实为了方便我们人类写程序和阅读程序的方便。总之取了名字之后

var oTextbox = documentgetElementById("txt1")

oTextbox和documentgetElementById("txt1")都表示<textarea>这个元素

第二步:oTextboxvalue += " " + eventtype这是个简写的运算过程,完整过程是这样:

oTextboxvalue = oTextboxvalue + (" " + eventtype)

这个过程包括很多步骤:

oTextboxvalue即<textarea>这个元素的文本框内容,在我们没有输入东西之前,这个文本框是空的

(" " + eventtype) “”这个是空字符,用空字符加上另外一个数据,那么另外一个数据会自动转换为字符形式。eventtype是什么呢?event在这个例子中就是按键按下,按键输入,按键d起来,eventtype就是keydown,keypress,keyup。所以,如果按H按键,那么整个过程就是:H按键按下,指挥机器人执行handleEvent()函数,函数执行到这一步,eventtype得到keydown。(" " + eventtype)就得到(“” + keydown),那结果就是“keydown”

oTextboxvalue一开始是空,所以oTextboxvalue + (" " + eventtype)就得到“keydown”

oTextboxvalue = “keydown”就是使oTextbox的文本值等于keydown,oTextbox就是documentgetElementById("txt1"),也就是<textarea>这个元素,所以<textarea>这个元素的文本框内容就看见keydown

同样的,当我们按下H按键,跟着就是输入H,那么输入H也等于onkeypress,就是命令机器人执行handleEvent()函数,那就是重复第一步,第二步的过程,稍微不同的是,执行到第二步2的时候,eventtype的值是keypress。而第二步3,oTextboxvalue因为已经有H按键按下这个动作,所以此时会使oTextboxvalue=”keydown“。

同样的,输入H之后,跟着就是H按键d起来,H按键d起来等于onkeyup,就是命令机器人执行handleEvent()函数,那就是重复第一步,第二步的过程,稍微不同的是,执行到第二步2的时候,eventtype的值是keyup。而第二步3,oTextboxvalue因为已经有H按键按下和H按键输入这个动作,所以此时会使oTextboxvalue=”keydown keypress“。

所以,如果你按一个能输入的按键,那么会看见 keydown keypress keyup。如果你按一个不能输入的按键,那么会看见 keydown keyup,因为之间没有输入,所以就没有keypress。

所以,整个过程是,<input>元素有一个按键事件,这个按键事件指挥机器人执行handleEvent()函数,然后把函数得到的结果输出在<textarea>文本框中。

import javaapplet;

import javaawt;

import javaawtevent;

public class SmallApplet extends Applet implements ActionListener

{

Label lb1,lb2;

Button btn1,btn2;

TextField tf1;

TextArea ta1;

public void init()

{

lb1=new Label("请在文本框中输入内容!");

lb2=new Label("文本区显示的内容为:");

btn1=new Button("提交");

btn2=new Button("退出");

tf1=new TextField(20);

ta1=new TextArea();

add(lb1);

add(tf1);

add(lb2);

add(ta1);

add(btn1);

add(btn2);

setLayout(new FlowLayout());

setSize(600,400);

setVisible(true);

btn1addActionListener(this);

btn2addActionListener(this);

}

public void actionPerformed(ActionEvent e)

{

if(egetSource()==btn1)

{

ta1setText(tf1getText());

}

if(egetSource()==btn2)

{

Systemexit(0);

}

}

}

覆盖 textarea 等微信小程序原生组件

1子组件使用 position中的 relative、absolute、fixed

//子组件

父组件

此时可以通过z-index 大小控制子组件和 原生组件textarea覆盖 (前提:要在子组件设置position 使得组件脱离文档流)

不知道你为什么要用这个 流 DataInputStream sin = new DataInputStream(Systemin);

你程序没反应是你读的时候一直阻塞着。你用 BufferedReader试试 肯定有反应。

1、打开开发者工具,在项目的pages文件夹下,新建mypage文件夹,并在文件夹内新建mypage,并在appjson中将mypage设为第一页面。

2、在mypagewxml中写代码如下。

3、保存代码,在模拟器中查看效果如下图。

4、在mypagewxss中添加代码如下:view{overflow-wrap: break-word;}。

5、保存代码,就实现了自动换行,注意view默认的display为block。

6、mypagewxss不用改,再把内容改为中文测试一下,修改mypagewxml。

7、保存代码,查看模拟器如下图,中文也实现了自动换行。

1、域名必须是>

以上就是关于微信小程序使用Vant全部的内容,包括:微信小程序使用Vant、javascript 小程序 求大神讲解、编写一个Java Applet小程序---请帮个忙,谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10139742.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存